Rethinking Literate Programming in Statistics
نویسنده
چکیده
Literate programming is becoming increasingly trendy for data analysis because it allows generating dynamic analysis reports for communicating the data analysis and eliminates the chance of untraceable human errors in analysis reports. Traditionally, literate programming includes two separate processes for compiling the code and preparing the documentation. In this article I argue that while this workflow might be satisfactory for software documentation, it is not ideal for writing statistical analysis reports and instead, these processes should run in parallel. I also introduce the weaver package that attempts to examine this idea for Stata software by creating a new log system in HTML or LTEX that can be used simultaneously with Stata log system. The new log system provides many features that the Stata log system lacks such as a built-in syntax highlighter, rendering mathematical notations, inserting figures, creating publication-ready dynamic tables, as well as styling text. The weaver package also produces dynamic PDF documents by converting the HTML log to PDF or typesetting the LTEX log and thus provides a real-time preview of the document without re-compiling the code. The article also discusses the potential applications of weaver package.
منابع مشابه
Literate Statistical Practice
Literate Statistical Practice (LSP) is an method for statistical practice which suggests that documentation and specification occur at the same time as statistical coding. It applies literate programming Knuth (1992) to the practice of statistics. We discuss 2 different approaches for LSP, one currently implemented using Emacs with Noweb and Emacs Speaks Statistics (ESS), and the other develope...
متن کاملThirty Years of Literate Programming and More?
Don Knuth created Literate Programming about thirty years ago. It could be called a methodology, discipline, paradigm, . . . Bentley’s “Programming Pearls” article about Knuth’s book, TEX: The Program, caused a huge stir in the computing professions. Soon there was announcement of a Literate Programming section for the CACM . Several “Literate Programming systems” quickly appeared. This was fol...
متن کاملAn Elucidative Programming Environment for Scheme (Incomplete Draft)
In this paper we describe a programming environment for Scheme that supports elucidative programming. Scheme is a programming language in the Lisp family. Elucidative programming is a variant of literate programming. Literate programming represents the idea of structuring the program as fragments that are contained in an essay that documents the program understanding. Elucidative programming is...
متن کاملAOPS: an abstraction-oriented programming system for literate programming
The practice of literate programming is not widespread because existing literate programming systems have some undesirable characteristics such as programming language and text processor dependence and lack of flexible tools for viewing and manipulation of the source file. This paper describes the literate programming system AOPS (Abstraction Oriented Programming System) which addresses both of...
متن کاملA Literate Programming Tool for Concurrent Clean
Literate programming has attracted some interest in the functional programming community. This paper presents a prettyprinting algorithm used in a literate programming tool for the functional language Concurrent Clean, and discusses some of the issues involved in prettyprinting layout based languages. 1 Literate programming This section introduces the concept of literate programming for those w...
متن کامل